#define _CRT_SECURE_NO_WARNINGS

//#include<stdio.h>
//int Fact(int n)
//{
//	if (n == 1)
//	{
//		return 1;
//	}
//	if (n == 2)
//	{
//		return 2;
//	}
//	int pre1 = 1;
//	int pre2 = 2;
//	int curent = 0;
//	for (int i = 3; i < n + 1; i++)
//	{
//		curent = ((2 * pre1)%32767 + pre2%32767) % 32767;
//		pre2 = pre1;
//		pre1 = curent;
//	}
//	return curent;
//}
//int main()
//{
//	int n;
//	int m;
//	scanf("%d", &m);
//	while (m--)
//	{
//		scanf("%d", &n);
//		printf("%d\n", Fact(n));
//	}
//	return 0;
//}


//#include<stdio.h>
//int Fact(int  n)
//{
//	if (n == 1)
//	{
//		return 1;
//	}
//	if (n == 2)
//	{
//		return 2;
//	}
//	int a1 = 1;
//	int a2 = 2;
//	int curent = 0;
//	for (int i = 3; i <= n; i++)
//	{
//		curent = a1 + a2;
//		a1 = a2;
//		a2 = curent;
//	}
//	return curent;
//}
//int main()
//{
//	int n;
//	while (scanf("%d", &n)==1)
//	{
//		printf("%d\n", Fact(n));
//	}
//	return 0;
//}

//#include<stdio.h>
//int Dact(int max, int min)
//{
//	if (max % min == 0)
//	{
//		return min;
//	}
//	if (max % min > min)
//	{
//		return Dact(max % min, min);
//	}
//	else
//	{
//		return Dact(min,max%min);
//	}
//}
//int main()
//{
//	int m, n;
//	scanf("%d %d", &m, &n);
//	if (m > n)
//	{
//		printf("%d", Dact(m,n));
//	}
//	else
//	{
//		printf("%d", Dact(n,m));
//	}
//	return 0;
//}

#include<stdio.h>
int Fact(int m, int min)
{
	int count = 0;
	if (m == 1)
	{
		return 1;
	}
	if (m >= min)
	{
		count++;
	}
	for (int i = 2; i <= m; i++)
	{
		if (m % i == 0)
		{
			count += Fact(m / i, i);
		}
	}
	return count;
}
int main()
{
	int n;
	int m;
	scanf("%d", &n);
	while (n--)
	{
		scanf("%d", &m);
		printf("%d\n", Fact(m,2));
	}
	return 0;
}